# Script Name		: powerdown_startup.py
# Author				: Craig Richards
# Created				: 05th January 2012
# Last Modified		: 
# Version				: 1.0

# Modifications		: 

# Description			: This goes through the server list and pings the machine, if it's up it will load the putty session, if its not it will notify you.

import os							# Load the Library Module
import subprocess				# Load the Library Module 
from time import strftime		# Load just the strftime Module from Time

def windows():																							# This is the function to run if it detects the OS is windows.
	f = open('server_startup_'+strftime("%Y-%m-%d")+'.log', 'a')						# Open the logfile
	for server in open('startup_list.txt','r'):														# Read the list of servers from the list
		ret = subprocess.call("ping -n 3 %s" % server, shell=True,stdout=open('NUL', 'w'),stderr=subprocess.STDOUT)	# Ping the servers in turn
		if ret == 0:             																			# If you get a response.
			f.write ("%s: is alive, loading PuTTY session" % server.strip() + "\n")	# Write out to the logfile
			subprocess.Popen(('putty -load '+server))											# Load the putty session
		else: 
			f.write ("%s : did not respond" % server.strip() + "\n")						# Write to the logfile if the server is down

def linux():
	f = open('server_startup_'+strftime("%Y-%m-%d")+'.log', 'a')						# Open the logfile
	for server in open('startup_list.txt'):															# Read the list of servers from the list
		ret = subprocess.call("ping -c 3 %s" % server, shell=True,stdout=open('/dev/null', 'w'),stderr=subprocess.STDOUT)	# Ping the servers in turn
		if ret == 0:																							# If you get a response.
			f.write ("%s: is alive" % server.strip() + "\n")										# Print a message
			subprocess.Popen(['ssh', server.strip()])
		else:             
			f.write ("%s: did not respond" % server.strip() + "\n")

# End of the functions			

# Start of the Main Program

if os.name == "posix":					# If the OS is linux...
	linux()										# Call the linux function
elif os.name in ("nt", "dos", "ce"):	# If the OS is Windows...
	windows()									# Call the windows function